'''
import csv
import numpy as np

# 定义解析金额的函数
def parse_amount(amount_str):
    # 去除可能存在的双引号
    amount_str = amount_str.strip('"')
    # 去除逗号
    amount_str = amount_str.replace(',', '')
    # 尝试将字符串转换为浮点数
    try:
        amount = float(amount_str)
    except ValueError:
        # 如果转换失败，打印错误并返回0
        print(f"无法解析金额: {amount_str}，将使用0代替。")
        return 0
    return amount

# 初始化金额列表，用于之后转换为numpy数组
amounts = []

# 注意：现在文件名是'资产数据.csv'，并使用csv模块读取
with open('资产数据.csv', "r", encoding='GB18030') as file:
    csv_reader = csv.reader(file)
    # 跳过标题行
    next(csv_reader)
    for row in csv_reader:
        if len(row) > 6:  # 确保有足够的字段
            amount_str = row[6].strip()  # 假设金额字段在第七个位置
            amount = parse_amount(amount_str)
            amounts.append(amount)

# 转换为numpy数组
amounts_np = np.array(amounts)

# 统计总金额和资产个数
total_amount = np.sum(amounts_np)
asset_count = amounts_np.size

# 格式化打印结果
print(f"所有资产的总金额: {total_amount:.2f} 元")
print(f"资产总个数: {asset_count} 个")
'''

'''
import csv
import numpy as np

def parse_amount(amount_str):
    """
    将金额字符串（已去除可能的引号和逗号）解析为浮点数。
    """
    # 去除可能存在的双引号
    amount_str = amount_str.strip('"')
    # 去除逗号
    amount_str = amount_str.replace(',', '')
    
    # 尝试将字符串转换为浮点数
    try:
        amount = float(amount_str)
    except ValueError:
        # 如果转换失败，打印错误并返回0
        print(f"无法解析金额: {amount_str}，将使用0代替。")
        return 0
    return amount

# 初始化字典来存储使用人及其对应的总金额和资产个数
user_assets_dict = {}

# 使用csv模块读取文件
with open('资产数据.csv', "r", encoding='GB18030') as file:
    csv_reader = csv.reader(file)
    # 跳过标题行
    next(csv_reader)
    for row in csv_reader:
        if len(row) > 8:  # 确保有足够的字段，假设使用人在第9个位置
            amount_str = row[6].strip()  # 假设金额字段在第7个位置
            user_name = row[8].strip()   # 假设使用人字段在第9个位置
            
            amount = parse_amount(amount_str)
            
            # 使用人资产记录的更新
            if user_name in user_assets_dict:
                user_assets_dict[user_name][0] += amount  # 累加金额
                user_assets_dict[user_name][1] += 1       # 累加资产个数
            else:
                user_assets_dict[user_name] = [amount, 1]  # 新增使用人记录

# 转换字典为numpy数组进行排序
user_names = np.array(list(user_assets_dict.keys()))
user_assets = np.array(list(user_assets_dict.values()))

# 按照金额降序排序
sorted_indices = np.argsort(user_assets[:, 0])[::-1]

# 输出排序后的结果
for idx in sorted_indices:
    user_name = user_names[idx]
    total_amount, asset_count = user_assets[idx]
    print(f"{user_name}: 总金额 {total_amount:.2f} 元, 资产个数 {asset_count} 个")
'''